高層次理解:
零拷貝,zero copy 是一個性能優化的技術,核心概念是減少數據在記憶體裡,不必要的複製次數。
傳統的數據傳輸要在用戶態空間跟內核態空間之間進行多次數據拷貝,但零拷貝可以直接讓數據從源頭到目的地,避免中間的複製。
有什麼好處?
CPU Usage 大幅降低,因為不需要它來參與複製的任務了
記憶體使用更少,不用把複製的數據放在緩衝區了
延遲更低,因為傳輸路徑更短
跟 Linux 有很大關係:
零拷貝要操作系統內核的支持
需要硬體整合 DMA, Direct Memory Access 硬體特性
文件系統優化
衍生問題:
什麼是用戶態跟內核態?
什麼是緩衝區?
什麼是 DMA?
系統調用是什麼?
感謝 未知作者 的精彩分享!
這個主題很有趣,感謝您的詳細說明和實作經驗分享。
遇到的問題和解決方案分享很實用,相信很多人都會遇到類似的情況。
也歡迎版主有空參考我的系列文「南桃AI重生記」:https://ithelp.ithome.com.tw/users/20046160/ironman/8311
如果覺得有幫助的話,也歡迎訂閱支持!